Micron Document
Livres et Wikis | Archives | Info


JavaScript Object Notation
part 5/7 ยท 19.8 KB total
โ—€ Prev ยท Parts ยท Full ยท Next โ–ถ
layout: Wide ยท Narrow ยท Centered
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
ร‰valuation

En JavaScript, il est simple dโ€™รฉvaluer une expression JSON pour la transformer en Object natif :

var donnees = eval('('+donnees_json+')');

Cette mรฉthode comporte toutefois des risques car la chaรฎne de caractรจres donnees_json peut contenir nโ€™importe quel code JavaScript. Il existe une mรฉthode plus sรปre qui consiste ร  analyser la syntaxe de la chaรฎne de caractรจres donnees_json, seule solution disponible dans les autres langages de programmation, ร  lโ€™exception de Python, la syntaxe de JSON correspondant ร  ses deux types principaux : les listes et les dictionnaires.

ร€ partir de 2009, les navigateurs commencent ร  intรฉgrer un support natif du format JSON. Cela facilite sa manipulation, la sรฉcuritรฉ (contre lโ€™รฉvaluation de scripts malveillants inclus dans une chaรฎne JSON), et la rapiditรฉ de traitement. Ainsi les navigateurs Firefox 3.5, IE 8 ou encore Opera 10.5 lโ€™intรจgrent en natifcite-ref-8[8].

ร‰valuer en JavaScript une expression JSON pour la transformer en Object se fait alors de la maniรจre suivante :

var donnees = JSON.parse(donnees_json);

Diffรฉrentes bibliothรจques javascript permettent de supporter des navigateurs plus anciens avec une syntaxe similaire.

Extensions du format

JSONP

JSONP ou JSON-P (pour JSON with padding, en franรงais, ยซ JSON avec formatage ยป) est une extension dans laquelle le nom de la fonction de retour est indiquรฉcite-ref-9[9]. Lโ€™idรฉe originale proviendrait du blog de Bob Ippolito en 2005cite-ref-10[10] et est maintenant rรฉpandue dans les applications Web 2.0, telle que Googleโ€™s toolkit Applicationscite-ref-11[11]. Des amรฉliorations sont prรฉvues pour y ajouter des argumentscite-ref-12[12].

JSONP utilise des balises de scripts, les appels sont ouverts. Ainsi, JSONP peut รชtre inappropriรฉ pour transporter des informations confidentielles.

JSON5

JSON5 est une extension de la syntaxe du JSON, destinรฉ ร  contourner les limitations de ce dernier.

Spรฉcifications

โ€ข Les noms des champs ne sont plus entre guillemets
โ€ข Support des commentaires (sur une ou plusieurs lignes)
โ€ข Les nombres peuvent รชtre reprรฉsentรฉs au format hexadรฉcimal, รชtre prรฉcรฉdรฉs du signe positif (+), avoir pour valeur Infinity ou NaN
โ€ข Espaces blancs supplรฉmentaires autorisรฉs
โ€ข Les chaรฎnes de caractรจres peuvent รชtre contenus entre apostrophes

HJSON

HJSON est une extension de la syntaxe JSON, ayant le mรชme objectif que JSON5 (voir ci-dessus).

Spรฉcifications

โ€ข Les champs peuvent รชtre sรฉparรฉs par un retour ร  la ligne au lieu d'une virgule
โ€ข Possibilitรฉ d'รฉcrire des commentaires (#, //, /* ... */)

โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
โ—€ Prev ยท Parts ยท Full ยท Next โ–ถ